import axios from "axios";

// 创建一个axios实例，并设置基础URL和超时错误信息
export const request = axios.create({
  // 基础路径
  baseURL: "/api",
  timeoutErrorMessage: "链接超时",
});

// 请求拦截器，在请求发送之前，添加token到请求头中
request.interceptors.request.use((config) => {


  // 从localStorage中获取token
  const token = localStorage.getItem("token");
  // 如果有token，则添加到请求头中
  if (token) {
    config.headers.Authorization = "Bearer " + token;
  }
  // 返回配置
  return config
});


// 响应拦截器，在响应返回之后，根据状态码进行不同的处理
request.interceptors.response.use(null, (error) => {
  // 如果有响应
  if(error && error.response) {
    // 获取状态码
    const { status } = error.response;
    // 根据状态码进行不同的处理
    if(status === 200) {
      console.log('请求成功')
    } else if(status === 301) {
      console.log('响应新资源')
    } else if(status === 400) {
      console.log('客户端错误')
    } else if(status === 500) {
      console.log('服务器错误')
    }
  }
})


